Azure SQLの全体像把握
https://docs.microsoft.com/ja-jp/azure/azure-sql/
前段
Azure SQLに訳あって興味があった.
Azure SQLだのSQL Server on Virtual Machines , Azure SQL Managed Instance, Azure SQL Databaseだの似たような名前が多く, 実は製品ページを読んでもハッキリと違いを掴むことができずモヤモヤしていた.
なので, クリアにしよう, という試みです.
本論
Azure Database Servicesは全部で10個くらい. SQLのみならずNoSQLまでがライナップとして存在
展開としては①データ管理方法(SQL, NoSQL), ②インフラ種別(VM, or not), ③データ管理周辺(例: オンプレからクラウドへのデータ移行など)
原則としてサーバーはクラウド上(Azure=青空)で、論理的に管理される
そもそもAzure SQLとはなんなのか?
Azure SQLとは製品・サービス群を指し示す.
The family of SQL cloud databases providing flexible options for application migration, modernization, and development ( https://azure.microsoft.com/en-us/services/azure-sql/ )
具体的には、SQL Server on Virtual Machines , Azure SQL Managed Instance, Azure SQL Database, Azure SQL Edge である.
Azure 上のデータベースの種類と説明は、https://azure.microsoft.com/ja-jp/product-categories/databases/ から確認できる.
AWS側の製品に明るい方は比較表から理解するのが早い. https://docs.microsoft.com/ja-jp/azure/architecture/aws-professional/databases#service-comparison
製品共通の特徴
①データベースが最新化, 最適化されており監視, 運用コストを下げられる(例: パフォーマンス・チューニング, 高負荷時のスケールアウト, フォールトトレランスの担保など), ②「一般的な」SQLスキルセットの転用が可能なので学習, 移行コストを下げられる(例: オンプレで使っていたOSS技術を利用可能)
競合(AWS)との比較
3.6倍処理スピードが早く, 86%の安くSQL実行が可能
Azure is 3.6 times faster and up to 86 percent less expensive than AWS for SQL workloads.
https://gyazo.com/0224641161918a6b5edf33a63a12caddhttps://gyazo.com/68269261495f867db04cb74f48fb70f6
どうして、可能なのか...??
snowflakeってまた別かな...??
各製品の概要説明
SQL Server on Virtual Machines
VM上で動くのはSQL Serverである(MS製品). オンプレミスからの移行も可能.
そもそも仮想マシン(VM)はOSレベルから分割するからプロセスのリソース確保ができ、高いパフォーマンスを期待できる. 物理マシン1つに対して複数の仮想マシン構成にできるのでリソースの効率活用が可能 https://www.redhat.com/ja/topics/containers/containers-vs-vms
Azure SQL Managed Instance
既存, 稼働のSQL Serverのクラウドへの管理移行(Lift-and-Shift)を可能とするサービス.
移行後はコードレスでDatabase Serverの管理が可能であり、非機能要件(可用性, 耐障害性, 回復性, 保守運用など)に応じて設定をしておけば、良しなにServer管理をしてくれ結果的に運用コストを減らせるし、精神衛生が向上する。具体的にはリソーススケール, バックアップなど.
Azure SQL Database
製品説明を見ている限りだと機能自体はAzure SQL Managed Instanceの上位互換製品と捉えた. Database自動管理, ストレージへの迅速対応, 高可用性など.
ただし、前提としてSQL Serverのクラウド化を前提としていない.
Azure SQL Managed InstanceとAzure SQL Databaseの違い
Azure SQL Managed InstanceはオンプレDBのクラウド移行が可能(前提)な製品の認識
どちらもSQL Serverを仮想化した製品であり共通点は多い.
Azure SQL Managed Instance には、Azure SQL Database では使用できない可能性があるオプションがいくつか用意 https://docs.microsoft.com/ja-jp/learn/modules/azure-database-fundamentals/azure-sql-managed-instance
が、可用性はAzure SQL Databaseが99.99-99.995%, Azure SQL Managed Instanceが99.99%と相違あり. 細かい相違点は右記ページから. https://docs.microsoft.com/en-us/azure/azure-sql/database/features-comparison#features-of-sql-database-and-sql-managed-instance
Azure SQL Edge
エッジとは「最もクライアントに近い場所でデータを処理」することを意味する言葉と, アーキテクチャを示す.
エッジではよりリアルタイムな処理が求められ分散データベース, コンピューティングを前提にしている(はず). 他SQLというワードがついたサービスとは意味合いが異なる.
その他のデータベースや分析基盤
Azure Cosmos DB
Azure Cosmos DB は グローバル分散型のマルチモデル データベース サービス. ... Atom-Record-Sequence (ARS) 形式でデータを格納します。 データは抽象化され、データベースの作成時に指定する API として投影されます。 SQL、MongoDB、Cassandra、Tables、Gremlin から選ぶことができます
ビッグ データと分析
Azure Synapse Analytics, Azure HDInsight, Azure Databricks, Azure Data Lake Analytics
https://docs.microsoft.com/ja-jp/learn/modules/azure-database-fundamentals/azure-big-data-analytics
Synapse は、エンタープライズ データ ウェアハウスで使用される SQL テクノロジ、ビッグ データに使用される Spark テクノロジ、データ統合と ETL および ELT のための パイプライン、Power BI、CosmosDB、AzureML などの他の Azure サービスとの緊密な統合の長所を組み合わせたもの
サービス選定の考え方
youtubeで動画が上がっている
https://www.youtube.com/watch?v=PjfZPNWRtHg
https://gyazo.com/74bc3a7a1dae51109cbae6e5c6d00a74
OSレベルで制御したい場合はSQL virtula machines
OSレベルで制御はせず, ネットワークレベルで制御したい場合 (例: オンプレシステムと組み合わせて利用 など), すでにオンプレ上で稼働システムをクラウド化したい場合はManaged Instances
上記に当てはまらない場合は基本的にAzure SQL server
雑記
Azure SQLとは「Edge」は例外かと思うが, SQL Serverを大前提としてクラウドソリューションを提供するサービス群である.
SQLといえばRDBと関連性が強く, Azure Database Services群にAzure Database for MySQL, Azure Database for PostgreSQLが含まれていないことの理解が難しかったが, MicrosoftがSQL Serverをコア製品として提供してきた歴史を考えると, 頷けなくもない.
つまり, MicrosoftないしAzureというクラウドソリューション, とりわけRDB DatabaseサービスにおいてSQL Serverのポジションはメインであるべき, ということなのかなと. (思い込みかも)
SQL Serverの概要把握~Editions and supported features of SQL Server 2019 (15.x)~
#Azure #Database